home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 11 / FM Towns Free Software Collection 11.iso / t_os / data / dora / dorauset.plp < prev    next >
Text File  |  1995-08-18  |  39KB  |  1,501 lines

  1. /*    テキストメール スイッチ用リスト作成    */
  2. /*        upld:制御文       */
  3. %MUmail{
  4.     [upld,mode]
  5.     var    SLine    [120];
  6.     var    mail    [127];
  7.     var    title    [40];
  8.     mail:=@head(@body(upld,{mail=},{;}),{;});
  9.     title:=@body(upld,{;title=},{\n});
  10.     SLine:=Mode|{テキストメール    To:}|@nth(mail,1,{,});
  11.     case(@nth(mail,2,{,})<>{},
  12.         {Yes},{SLine:=SLine|{-}});
  13.     SLine:=@getchar(SLine|{                        },1,39);
  14.     SLine:=@getchar(SLine|title,1,79)|CRLF;
  15.     im(SLine);
  16.     };
  17. /*    バイナリメール スイッチ用リスト作成    */
  18. %MUbmail{
  19.     [upld,mode]
  20.     var    SLine    [120];
  21.     var    bmail    [127];
  22.     var    title    [12];
  23.     bmail:=@head(@body(upld,{bmail=},{;}),{;});
  24.     title:=    @body(upld,{title=},{\n});
  25.     SLine:=Mode|{バイナリメール   To:}|@nth(bmail,1,{,});
  26.     case(@nth(bmail,2,{,})<>{},
  27.         {Yes},{SLine:=SLine|{-}});
  28.     SLine:=@getchar(SLine|{                        },1,39);
  29.     SLine:=@getchar(SLine|title,1,79)|CRLF;
  30.     im(SLine);
  31.     };
  32. /*    プロフィール情報 スイッチ用リスト作成    */
  33. %MUprof{
  34.     [upld,mode]
  35.     var    SLine    [120];
  36.     var    file    [12];
  37.     file:=@FileND(@tail(upld,{file=},{;}));
  38.     SLine:=Mode|{プロフィール    登録                   Text-File:}|file;
  39.     SLine:=@getchar(SLine,1,79)|CRLF;
  40.     im(SLine);
  41.     };
  42. /*    会議室 スイッチ用リスト作成    */
  43. %MUforum{
  44.     [upld,mode]
  45.     var    SLine    [120];
  46.     var    forum    [12];
  47.     var    mes    [3];
  48.     var    reply    [4];
  49.     var    title    [50];
  50.     forum:=    @head(@body(upld,{forum=},{;}),{;});
  51.     mes:=    @head(@body(upld,{mes=},{;}),{;});
  52.     reply:=    @head(@body(upld,{reply=},{;}),{;});
  53.     title:=    @body(upld,{title=},{\n});
  54.     SLine:=Mode|{ボード発言  }|forum|{         };
  55.     SLine:=@getchar(SLine,1,23)|{Mes:}|mes|{   };
  56.     SLine:=@getchar(SLine,1,30)|{ Co:}|reply|{      };
  57.     SLine:=@getchar(SLine,1,39)|title;
  58.     SLine:=@getchar(SLine,1,79)|CRLF;
  59.     im(SLine);
  60.     };
  61. /*    データライブラリ スイッチ用リスト作成    */
  62. %MUdlib{
  63.     [upld,mode]
  64.     var    SLine    [120];
  65.     var    forum    [12];
  66.     var    libno    [3];
  67.     var    dataname[12];
  68.     forum:=    @head(@body(upld,{forumlib=},{;}),{;});
  69.     libno:=    @head(@body(upld,{libno=},{;}),{;});
  70.     dataname:=@head(@body(upld,{dataname=},{;}),{;});
  71.     SLine:=Mode|{Data Lib   }|forum|{         };
  72.     SLine:=@getchar(SLine,1,23)|{Lib:}|libno|{               };
  73.     SLine:=@getchar(SLine,1,39)|dataname;
  74.     SLine:=@getchar(SLine,1,79)|CRLF;
  75.     im(SLine);
  76.     };
  77. /*    シスオペ宛メール スイッチ用リスト作成    */
  78. /*    Whoメモ スイッチ用リスト作成    */
  79. %MUwmemo{
  80.     [upld,mode]
  81.     var    SLine    [120];
  82.     var    file    [12];
  83.     file:=@FileND(@tail(upld,{file=},{;}));
  84.     SLine:=Mode|{Whoメモ      登録                   memo-File:}|file;
  85.     SLine:=@getchar(SLine,1,79)|CRLF;
  86.     im(SLine);
  87.     };
  88. %MUdengon{
  89.     [upld,mode]
  90.     var    SLine    [120];
  91.     var    file    [64];
  92.     file:=UP2|{DENGO};
  93.     SLine:=Mode|{伝言       登録                   伝言-File:}|file;
  94.     SLine:=@getchar(SLine,1,79)|CRLF;
  95.     im(SLine);
  96.     };
  97. %MUlastW{
  98.     [upld,mode]
  99.     var    SLine    [120];
  100.     var    file    [64];
  101.     file:=UP2|{SAIGO};
  102.     SLine:=Mode|{最後の一言 登録                   最後-File:}|file;
  103.     SLine:=@getchar(SLine,1,79)|CRLF;
  104.     im(SLine);
  105.     };
  106. /*    爆裂攻撃 スイッチ用リスト作成    */
  107. %MUbenon{
  108.     [upld,mode]
  109.     var    SLine    [120];
  110.     var    benon    [127];
  111.     var    file    [12];
  112.     benon:=@head(@body(upld,{benon=},{;}),{;});
  113.     file:=@FileND(@tail(upld,{file=},{;}));
  114.     SLine:=Mode|{爆裂攻撃   To:}|@nth(benon,1,{,});
  115.     case(@nth(benon,2,{,})<>{},
  116.         {Yes},{SLine:=SLine|{-}});
  117.     SLine:=@getchar(SLine|{                        },1,39);
  118.     SLine:=@getchar(SLine|{      benon-File:}|file,1,79)|CRLF;
  119.     im(SLine);
  120.     };
  121. /*    アップロード予約状況表示用試作パイロット    Ver 0.08 (左裸眼だ)(笑)    */
  122. %MakeDisp{
  123.     var    line    [3];
  124.     var    CtlLine    [256];
  125.     var    Mode    [5];
  126.     madd(memono+1,{});
  127.     mclear(memono+1);
  128.     line:=0;
  129.     loop    ({
  130.         line:=line+1;
  131.         CtlLine:={};
  132.         CtlLine:=@memo(memono,line,1);
  133.         case    (CtlLine<>{},
  134.             {Yes},
  135.             {
  136.             case    (@getchar(CtlLine,1,5),
  137.                 {保留;},
  138.                 {Mode:={保留 };CtlLine:=@getchar(CtlLine,6)},
  139.                 ,
  140.                 {Mode:={予約 }}
  141.                 );
  142.             madd(memono+1,
  143.                 @case    (@head(CtlLine,{=}),
  144.                 {mail},        {MUmail(CtlLine,Mode)},
  145.                 {bmail},    {MUbmail(CtlLine,Mode)},
  146.                 {profile},    {MUprof(CtlLine,Mode)},
  147.                 {forum},    {MUforum(CtlLine,Mode)},
  148.                 {forumlib},    {MUdlib(CtlLine,Mode)},
  149.                 {sysmail},
  150.                 {im({注意 sysmailは通常mailで実施下さい\n})},
  151.                 {whomemo},    {MUwmemo(CtlLine,Mode)},
  152.                 {benon},    {MUbenon(CtlLine,Mode)},
  153.                 {dengon},    {MUdengon(CtlLine,Mode)},
  154.                 {lastW},    {MUlastW(CtlLine,Mode)},
  155.                 {\n},        {im(CRLF)},
  156.                 ,        {im({  未定義}|CRLF)}
  157.                 )
  158.                 );
  159.             im({Yes});
  160.             },
  161.             {No},{im({No})}
  162.             );
  163.         });
  164.     };
  165. /*    DENGONファイル編集    */
  166. %EDIT    {[flag]
  167.     var memono[1];
  168.     InactMemo;
  169.     %update{CloseAllMemo;mwrite(UP2|{DENGO},memono);
  170.         mopen(memono);mclose(3);im({No})};
  171.     %cancel    {CloseAllMemo;mopen(memono);mclose(3);footnote({});im({No})};
  172.     %DelDen    {CloseAllMemo;delfile(UP2|{DENGO});im({No})};
  173.     %MEMONO    @mlast;memono:=MEMONO+1;
  174.     case    (memono>0,
  175.         {Yes},{
  176.         CloseAllMemo;
  177.             madd(memono,{\n});mclear(memono);
  178.         case    (@filechk(UP2|{DENGO}),
  179.             {Yes},{madd(memono,@read(UP2|{DENGO}))
  180.             });
  181.         mopen(memono,0,21,639,459,{w});
  182.         loop    ({footnote({登録取消削除清書},{b});
  183.             waitx();
  184.             case    (@xtype,
  185.                 101,{rtCHK(memono);update},
  186.                 201,{rtCHK(memono);update},
  187.                 102,cancel,    202,cancel,
  188.                 103,DelDen,    203,DelDen,
  189.                 104,{rewrite},    204,{rewrite},
  190.                 ,{im({Yes})}
  191.             )})})};
  192. /*『最後の一言』作成    */
  193. %LAST{
  194.     %LASTset{
  195.         case(@filechk(UP2|{SAIGO}),
  196.         {Yes},{delfile(UP2|{SAIGO});write(UP2|{SAIGO},sai)},
  197.         {No},{write(UP2|{SAIGO},sai)})
  198.         };
  199.     var    uplast[50];
  200.     InactMemo;
  201.     case(@filechk(UP2|{SAIGO}),{Yes},{uplast:=@read(UP2|{SAIGO})});
  202.     loop    ({
  203.         footnote({注意;「最後の一言」機能を持っているNETのみで有効});
  204.         %a     @plane(    {c最後の一言へのコメントをして下さい\n}|
  205.         {tコメント/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n}|
  206.             {s              / 登録 / 取消 /削除 \n},
  207.             uplast);
  208.         %sai    @head(@getline(a,1,1),{\n});
  209.         %ok    @head(@getline(a,2,1),{\n});
  210.         case    (ok,
  211.             { 1},
  212.             {footnote({最後の一言へのコメントを作成します});
  213.             LASTset;im({No})},
  214.             { 2},{im({No})},
  215.             { 3},{delfile(UP2|{SAIGO});im({No})}
  216.             );
  217.         })
  218.     };
  219. /* フッタ作成処理 */
  220. %makeFt{
  221.     MiDL:={\n\n\n                               };
  222.     case    (Futless,
  223.         {Yes},{MiDL:={};FuTa:={}},
  224.         ,{
  225.         case    (FUTA={},
  226.             {No},{FuTa:=@SPP(FUTA,41,)},
  227.             {Yes},{
  228.             case    (HedFut={},
  229.                 {Yes},{FuTa:={}},
  230.                 {No},{FuTa:={                  }|ID|{ }|HanDLe}
  231.                 );
  232.             });
  233.         });
  234.     };
  235. /*  テキストファイル作成処理    */
  236. %SHINKI{
  237.     var file [64];    var MiDL[58];var FuTa[50];
  238.     %savememo{
  239.         footnote({送信用テキストファイルを新規作成します});
  240.         mkdir2(TEMP);
  241.         %file1  @crefile(UP,{res});
  242.         InactMemo;
  243.         mwrite(UP2|file1,memono);
  244.         file:=UP2|file1;
  245.         mopen(memono);mclose(3);im({No})
  246.         };
  247.     %memono @case    (@mlast==9,{Yes},{im({9})},{No},{im(@mlast+1)});
  248.     footnote({送信用テキストファイルを新規作成します});
  249.     InactMemo;
  250.     madd(memono,{});
  251.     mclear(memono);
  252.     makeFt;
  253.     case    (FUTop={BoD} || FUTop={MaL},
  254.         {Yes},{madd(memono,MiDL|FuTa|{\n})});
  255.     mopen(memono,0,21,639,459,{w});
  256.     loop    ({footnote({終了取消    清書    }|
  257.             {        参照    CD辞}|
  258.             {        },{b});
  259.         waitx();
  260.         case    (@xtype,
  261.             101,{savememo},    201,{savememo},
  262.             102,{cancel},    202,{cancel},
  263.             104,{rewrite},    204,{rewrite},
  264.             108,{newmemo},    208,{newmemo},
  265.             110,{cddic},    210,{cddic},
  266.             ,{im({Yes})});
  267.         });
  268.     im(file);
  269.     };
  270. /*  アップ用文書清書    */
  271. %rewrite{
  272.     footnote({編集中のメモ内容を清書しています});
  273.     InactMemo;
  274.     dispoff(!DEBUG);
  275.     %cdir @getcdir;
  276.     setcdir(CDIR);
  277.     case    (DEBUG,{Yes},
  278.         {display({TEMP2=}|TEMP2)});
  279.     delfile(TEMP2|{doratext.tmp});
  280.     delfile(TEMP2|{doratext.new});
  281.     mwrite(TEMP2|{doratext.tmp},memono);
  282.     command({txf -f -i }|TEMP2|{doratext.tmp -o }|TEMP2|{doratext.new});
  283.     dispoff({No});
  284.     case    (@filechk(TEMP2|{doratext.new}),
  285.         {Yes},
  286.         {
  287.         mclear(memono);
  288.         mread(TEMP2|{doratext.new},memono);
  289.         %memomax    @mlast;
  290.         var    memono1    [2];
  291.         memono1:=memono+1;
  292.         loop    ({
  293.             case    (memono1<=memomax,
  294.                 {Yes},
  295.                 {
  296.                 case(@mcheck!=0,{Yes},{mclose(1)});
  297.                 mopen(memono1);
  298.                 });
  299.             memono1:=memono1+1;
  300.             im(memono1<=memomax);
  301.             });
  302.         case    (memomax>memono,
  303.             {Yes},
  304.             {
  305.             case(@mcheck!=0,{Yes},{mclose(1)});
  306.             mopen(memono,0,21,639,399,{w});
  307.             },
  308.             {No},
  309.             {
  310.             case(@mcheck!=0,{Yes},{mclose(1)});
  311.             mopen(memono,0,21,639,459,{w});
  312.             });
  313.         },
  314.         {No},
  315.         {
  316.         display({清書機能には TXF.EXE がパスの通った}|
  317.                 {ディレクトリに必要です\n});
  318.         wait(2);
  319.         %memomax    @mlast;
  320.         var    memono1    [1];
  321.         memono1:=memono+1;
  322.         loop    ({
  323.             case    (memono1<=memomax,
  324.                 {Yes},
  325.                 {
  326.                 case(@mcheck!=0,{Yes},{mclose(1)});
  327.                 mopen(memono1);
  328.                 });
  329.             memono1:=memono1+1;
  330.             im(memono1<=memomax);
  331.             });
  332.         case    (memomax>memono,
  333.             {Yes},
  334.             {
  335.             case(@mcheck!=0,{Yes},{mclose(1)});
  336.             mopen(memono,0,21,639,399,{w});
  337.             },
  338.             {No},
  339.             {
  340.             case(@mcheck!=0,{Yes},{mclose(1)});
  341.             mopen(memono,0,21,639,459,{w});
  342.             });
  343.         });
  344.     setcdir(cdir);
  345.     im({Yes});
  346.     };
  347. /*  アップ文書作成キャンセル  */
  348. %cancel{
  349.     SNDMSG({kaknin_f.snd});
  350.     footnote({作成中の文書を取消しますか?});
  351.     select({作成中の文書を取消しますか?},
  352.         Wtime4,{footnote({});im({Yes})},
  353.         {  は  い  },
  354.         {
  355.         InactMemo;
  356.         delfile(TEMP2|{doramemo.bak});
  357.         mwrite(TEMP2|{doramemo.bak},memono);
  358.         DeleteMemo(memono);
  359.         footnote({});
  360.         im({No})
  361.         },
  362.         {  いいえ  },{footnote({});im({Yes})}
  363.         )
  364.     };
  365. /*  他のファイルを参照するためにメモを開く  */
  366. %newmemo{
  367.     case    (@mlast==9,
  368.         {Yes},
  369.         {
  370.         footnote({メモ番号が一杯のため、新しいメモが開けません});
  371.         wait(2);
  372.         },
  373.         {No},
  374.         {
  375.         InactMemo;
  376.         %memo1    @mlast+1;
  377.         madd(memo1,{});
  378.         mclear(memo1);
  379.         %file1    @filesel;
  380.         case(file1<>{}&&@filechk(file1),{Yes},{mread(file1,memo1)});
  381.         mopen(memo1,0,221,639,459);
  382.         });
  383.     im({Yes});
  384.     };
  385.  
  386. /*  CD辞書を検索する    */
  387. %cddic  {
  388.     SNDMSG({kaknin_f.snd});
  389.     footnote({CD-ROMに辞書をセットしてください});
  390.     select({CD-ROMに辞書をセットしてください},
  391.         Wtime4,,
  392.         {  O K  },
  393.         {
  394.         InactMemo;
  395.         %memono    @mlast+1;
  396.         case    (memono>9,
  397.             {Yes},
  398.             {footnote({これ以上メモを開けません});wait(1)},
  399.             {No},
  400.             {
  401.             madd(memono,{});
  402.             mopen(memono,0,241,639,459);
  403.             CDfind(memono);
  404.             DeleteMemo(memono);
  405.             });
  406.         },
  407.         {  いいえ  },
  408.         );
  409.     footnote({});
  410.     InactMemo;
  411.     mopen(memono,0,21,639,459);
  412.     im({Yes});
  413.     };
  414. /*  アップロードファイル更新    */
  415. %KOUSHIN{
  416.     [file,memono]
  417.     %savememo{footnote({送信用テキストファイルを更新します});
  418.     InactMemo;
  419.     case(@filechk(file),{Yes},{mwrite(file,memono)});
  420.     im({No})};
  421.     footnote({送信用テキストファイルを更新します});
  422.     InactMemo;
  423.     madd(memono,{});mclear(memono);
  424.     case(@filechk(file),{Yes},{mread(file,memono)});
  425.     mopen(memono,0,21,639,459,{w});
  426.     loop    ({
  427.         footnote({終了取消    清書    }|
  428.             {        参照    CD辞}|
  429.             {        },{b});
  430.         waitx();
  431.         case(@xtype,
  432.             101,{savememo},    201,{savememo},
  433.             102,{cancel},    202,{cancel},
  434.             104,{rewrite},    204,{rewrite},
  435.             108,{newmemo},    208,{newmemo},
  436.             110,{cddic},    210,{cddic},
  437.             ,{im({Yes})});
  438.         })};
  439. /*  アップロードファイル指定    */
  440. %FILEsel1{var    upfile    [64];
  441.     SNDMSG({erande_f.snd});    upfile:=@filesel;
  442.     case(upfile<>{},{Yes},{upfile:=@dir2(@getcdir)|upfile});
  443.     im(upfile);
  444.     };
  445. /*  アップロードファイル内容確認(テキストファイル)    */
  446. %KAKUNIN{var    file1    [64];    var    memono    [1];
  447.     case    (@mlast==9,{Yes},{memono:=9},{No},{memono:=@mlast+1});
  448.     loop    ({
  449.         footnote({テキストファイルを選択してください});
  450.         file1:=@filesel;
  451.         case(file1<>{},{Yes},{file1:=@dir2(@getcdir)|file1});
  452.         case    (file1={}||@filechk(file1)={No},
  453.             {Yes},{file1:={}},
  454.             {No},
  455.             {
  456.             footnote({送信用テキストファイルを確認します});
  457.             InactMemo;
  458.             madd(memono,{});
  459.             mclear(memono);
  460.             mread(file1,memono);
  461.             mopen(memono,0,21,639,459,{w});
  462.             %a    @loop    ({
  463.                     footnote({指定 次 取消},{b});
  464.                     waitx();
  465.                     case    (@xtype,
  466.                         101,{im(file1)},
  467.                         201,{im(file1)},
  468.                         102,{im({next})},
  469.                         202,{im({next})},
  470.                         103,{im({cancel})},
  471.                         203,{im({cancel})},
  472.                         ,{im({Yes})}
  473.                         );
  474.                     });
  475.             InactMemo;footnote({});
  476.             case    (a,
  477.                 {next},{im({Yes})},
  478.                 {cancel},{file1:={};im({No})},
  479.                 ,{im({No})}
  480.                 );
  481.             });
  482.         });
  483.     loop    ({
  484.         case(@mlast>=memono,{Yes},{mopen(@mlast);mclose(3)});
  485.         im(@mlast>=memono);
  486.         });
  487.     im(file1);
  488.     };
  489.  
  490. /*ファイルコピー*/
  491. %FILECOPY{
  492.     footnote({読み込むファイルを選択してください});
  493.     case    (DEBUG,{Yes},{display(UP)});
  494.     setcdir(UP);    %file    @filesel;
  495.     case    (file={},
  496.         {Yes},{InactMemo},
  497.         {No},
  498.         {
  499.         InactMemo;
  500.         madd(memono+1,{});
  501.         mclear(memono+1);
  502.         case(@filechk(file),{Yes},{mread(file,memono+1)});
  503.         mopen(memono,0,21,639,240,{r});mclose(1);
  504.         mopen(memono+1,0,241,639,459,{r} );
  505.         select({このファイル内容を追加してもいいですか?},
  506.             Wtime4,{InactMemo},
  507.             {  O K },
  508.             {
  509.             InactMemo;
  510.             write(TEMP2|{doraup.wrk},@read(file));
  511.             mclear(memono);
  512.             mread(TEMP2|{doraup.wrk},memono)},
  513.             { N G },{InactMemo}
  514.             )})};
  515. /*手動編集*/
  516. %HANDEDIT{
  517.     InactMemo;mopen(memono,0,21,639,459,{w});
  518.     loop    ({
  519.         footnote({終了      取消},{b});waitx();
  520.         case    (@xtype,
  521.             101,
  522.             {
  523.             InactMemo;
  524.             mwrite(TEMP2|{doraup.wrk},memono);
  525.             im({No});
  526.             },
  527.             201,
  528.             {
  529.             InactMemo;
  530.             mwrite(TEMP2|{doraup.wrk},memono);
  531.             im({No})
  532.             },
  533.             105,
  534.             {
  535.             InactMemo;
  536.             mclear(memono);
  537.             case    (@filechk(TEMP2|{doraup.wrk}),
  538.                 {Yes},{mread(TEMP2|{doraup.wrk},memono)}
  539.                 );
  540.             im({No})},
  541.             205,
  542.             {
  543.             InactMemo;
  544.             mclear(memono);
  545.             case    (@filechk(TEMP2|{doraup.wrk}),
  546.                 {Yes},{mread(TEMP2|{doraup.wrk},memono)}
  547.                 );
  548.             im({No});
  549.             },
  550.             ,{im({Yes})});
  551.         })
  552.     };
  553.  
  554. /*  アップロード制御ファイル新規作成処理    */
  555. %Bselerr{
  556.     footnote({現在B-MAIL用のコマンドが指定されておりません。});wait(2);
  557.     footnote({メインメニューから「各種の設定」→「バイナリメール関連」});wait(2);
  558.     footnote({の手順でB-MAIL用のコマンドを指定して下さい。});wait(2)
  559.     };
  560. %SETUP1 {
  561.     loop    ({
  562.         footnote({アップロード先は?});SNDMSG({erande_f.snd});
  563.         case(dest,{},
  564.             {
  565.         select    ({アップロード先は?},
  566.             Wtime4,{im({No})},
  567.             { テキストメール }
  568.             ,{FUTop:={MaL};UPmail({},{new});im({Yes})},
  569.             { バイナリメール }
  570.             ,{case    (BINop={},
  571.                 {No},{UPbmail({},{new});im({Yes})},
  572.                 {Yes},{Bselerr})
  573.             },
  574.             {   ボード       }
  575.             ,{FUTop:={BoD};UPforum({},{new});im({Yes})},
  576.             {データライブラリ},{UPdlib({},{new});im({Yes})},
  577.             {  プロフィール  },{UPprof({},{new});im({Yes})},
  578.             { メモの書き込み },{UPmemo({},{new});im({Yes})},
  579.             { 爆裂自動トーク },{UPbenon({},{new});im({Yes})},
  580.             { 伝言板         },{EDIT(0);im({Yes})},
  581.             { 最後の一言   },{LAST;im({Yes})},
  582.             {    終    了    },{im({No})}
  583.             );
  584.             },,
  585.             {
  586.         select    ({アップロード先は?},
  587.             Wtime4,{im({No})},
  588.             { テキストメール },{UPmail({},{new});im({Yes})},
  589.             { バイナリメール }
  590.             ,{case    (BINop={},
  591.                 {No},{UPbmail({},{new});im({Yes})},
  592.                 {Yes},{Bselerr})
  593.             },
  594.             {   ボード       },{UPforum({},{new});im({Yes})},
  595.             {データライブラリ},{UPdlib({},{new});im({Yes})},
  596.             {  プロフィール  },{UPprof({},{new});im({Yes})},
  597.             { メモの書き込み },{UPmemo({},{new});im({Yes})},
  598.             { 爆裂自動トーク },{UPbenon({},{new});im({Yes})},
  599.             { 伝言板     },{EDIT(0);im({Yes})},
  600.             { 最後の一言   },{LAST;im({Yes})},
  601.             {  さっきと同じ  },{UPagain;im({Yes})},
  602.             {    終    了    },{im({No})}
  603.             );
  604.             });
  605.         });
  606.     InactMemo;mclear(memono);
  607.     case    (@filechk(TEMP2|{doraup.wrk}),
  608.         {Yes},{mread(TEMP2|{doraup.wrk},memono)});
  609.     };
  610. /*  連続アップロード処理 */
  611. %UPagain{
  612.     case    (@head(dest,{=}),
  613.         {dengon},    {EDIT(0)},
  614.         {lastW},    {LAST},
  615.         {benon},    {UPbenon(dest,{again})},
  616.         {mail},        {UPmail(dest,{again})},
  617.         {bmail},    {UPbmail(dest,{again})},
  618.         {forum},    {UPforum(dest,{again})},
  619.         {forumlib},    {UPdlib(dest,{again})}
  620.         );
  621.     };
  622. /*  書き込みメモファイル作成処理    */
  623.     %MEMOset{%a @plane({c「Wコマンドで表示される」メモ内容を登録する\n}|
  624.     {tメモ内容/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n}|
  625.     {s              / 登録 / 取消 \n},);
  626.     memoK:=    @head(@getline(a,1,1),{\n});
  627.         mkdir2(TEMP);%file1    @crefile(UP,{res});
  628.         write(UP2|file1,memoK);file:=UP2|file1};
  629. /*  書き込みメモアップロードファイル更新処理    */
  630.     %MEMOrset{    [text]
  631.     %memoUPDT @read(text);
  632.     memoK:=@getchar(memoUPDT,1,32);
  633.     %a @plane({c「Wコマンドで表示される」メモ内容を登録する\n}|
  634.     {tメモ内容/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n}|
  635.     {s              / 登録 / 取消 \n},memoK);
  636.     memoK:=    @head(@getline(a,1,1),{\n});
  637.         mkdir2(TEMP);%file1    @crefile(UP,{res});
  638.         write(UP2|file1,memoK);file:=UP2|file1};
  639. /*  爆裂自動トーク制御文作成及び更新    */
  640. %UPbenon{
  641.     [upld,mode]
  642.     %fnc    @case(mode,{updt},{im({更新})},,{im({作成})});
  643.     var benon[127];
  644.     var file[64];
  645.     var ok[2];
  646.     var    reserv    [2];
  647.     reserv:=@case(@head(upld,{;}),{保留},{im({ 2})},,{im({ 1})});
  648.     case(mode,{new},{},,
  649.         {
  650.         benon:=    @head(@body(upld,{benon=},{;}),{;});
  651.         file:=    @head(@body(upld,{file=},{;}),{;});
  652.         });
  653.     dest:={};
  654.     loop    ({
  655.         footnote({爆裂自動トーク送信制御文}|fnc);
  656.         SNDMSG({nyuryo_f.snd});
  657.         %a    @plane(    {c爆裂自動トーク送信\n}|
  658.                 {tトーク先ID  /\n}|
  659.                 {s              / 検索 \n}|
  660.                 {t爆裂ファイル /\n}|
  661.                 {s              / ファイル一覧/ 新規作成 }|
  662.                 @case(mode,{updt},
  663.                     {im({/ 内容更新 })},,{im({})})|{\n}|
  664.                 {r送信予約      /予約  /保留\n}|
  665.                 {s              / 登録 / }|
  666.                 @case(mode,{updt},{im({削除 / 取消})},
  667.                         ,{im({取消})})|{ \n},
  668.                 benon,file,reserv);
  669.         benon:=    @head(@getline(a,1,1),{\n});
  670.         %search    @head(@getline(a,2,1),{\n});
  671.         file:=    @head(@getline(a,3,1),{\n});
  672.         %sel    @head(@getline(a,4,1),{\n});
  673.         reserv:=@head(@getline(a,5,1),{\n});
  674.         ok:=    @head(@getline(a,6,1),{\n});
  675.         case    (search,
  676.             { 1},
  677.             {
  678.             %id1    @HDsearch;
  679.             case    (id1<>{},
  680.                 {Yes},
  681.                 {
  682.                 case    (benon<>{},
  683.                     {Yes},{benon:=benon|{,}|id1},
  684.                     {No},{benon:=id1}
  685.                     );
  686.                 });
  687.             im({Yes})}
  688.             );
  689.         case    (sel,
  690.             { 1},{file:=@KAKUNIN;im({Yes})},
  691.             { 2},{file:=@SHINKI;im({Yes})},
  692.             { 3},{KOUSHIN(file,memono+2);im({Yes})}
  693.             );
  694.         case    (ok,
  695.             { 1},
  696.             {
  697.             case    (@getchar(file,2,2)={:\},
  698.                 {No},{footnote(ERRMSG);im({Yes})},
  699.                 {Yes},
  700.                 {
  701.                 %upct    {benon=}|{;file=}|file|{;};
  702.                 case    (mode,{updt},
  703.                     {
  704.                     im(@RESERV(reserv)|{benon=}|benon|
  705.                         {;file=}|file|{;\n})
  706.                     },,
  707.                     {
  708.                     write(TEMP2|{doraup.wrk},
  709.                         @RESERV(reserv)|{benon=}|
  710.                         benon|{;file=}|file|{;\n});
  711.                     dest:=upct;
  712.                     })
  713.                 });
  714.             },
  715.             { 2},{im({})},
  716.             { 3},{im(upld)},
  717.             ,{case(mode={updt}&&search={ 0}&&sel={ 0},
  718.                 {Yes},{im(upld)})}
  719.             );
  720.         });
  721.     };
  722. /*  テキストメール制御文作成及び更新    */
  723. %UPmail{
  724.     [upld,mode]
  725.     %fnc    @case(mode,{updt},{im({更新})},,{im({作成})});
  726.     var mail[127];
  727.     var title[50];
  728.     var file[64];
  729.     var ok[2];
  730.     var reserv[2];
  731.     reserv:=@case(@head(upld,{;}),{保留},{im({ 2})},,{im({ 1})});
  732.     case(mode,{new},{},,
  733.         {
  734.         mail:=    @head(@body(upld,{mail=},{;}),{;});
  735.         title:=    @body(upld,{title=},{\n});
  736.         file:=    @head(@body(upld,{file=},{;}),{;});
  737.         });
  738.     dest:={};
  739.     loop    ({
  740.         footnote({テキストメール送信制御文}|fnc);
  741.         SNDMSG({nyuryo_f.snd});
  742.         %a    @plane(    {cテキストメール送信\n}|
  743.                 {t  送信先ID  /\n}|
  744.                 {s              / 検索 \n}|
  745.                 {t   タイトル   /xxxxxxxxxxxxxxxxxxxx}|
  746.                         {xxxxxxxxxxxxxxxxxxxx\n}|
  747.                 {t 送信ファイル /\n}|
  748.                 {s              / ファイル一覧/ 新規作成 }|
  749.                 @case(mode,{updt},
  750.                     {im({/ 内容更新 })},,{im({})})|{\n}|
  751.                 {r 送信予約     /予約  /保留\n}|
  752.                 {s              / 登録 / }|
  753.                 @case(mode,{updt},{im({削除 / 取消})},
  754.                         ,{im({取消})})|{ \n},
  755.                 mail,title,file,reserv);
  756.         mail:=    @head(@getline(a,1,1),{\n});
  757.         %search    @head(@getline(a,2,1),{\n});
  758.         title:=    @head(@getline(a,3,1),{\n});
  759.         file:=    @head(@getline(a,4,1),{\n});
  760.         %sel    @head(@getline(a,5,1),{\n});
  761.         reserv:=@head(@getline(a,6,1),{\n});
  762.         ok:=    @head(@getline(a,7,1),{\n});
  763.         case    (search,
  764.             { 1},
  765.             {
  766.             %id1    @IDsearch;
  767.             case    (id1<>{},
  768.                 {Yes},
  769.                 {
  770.                 case    (mail<>{},
  771.                     {Yes},{mail:=mail|{,}|id1},
  772.                     {No},{mail:=id1}
  773.                     );
  774.                 });
  775.             im({Yes})}
  776.             );
  777.         case    (sel,
  778.             { 1},{file:=@KAKUNIN;im({Yes})},
  779.             { 2},{file:=@SHINKI;im({Yes})},
  780.             { 3},{KOUSHIN(file,memono+2);im({Yes})}
  781.             );
  782.         case    (ok,
  783.             { 1},
  784.             {case    (title={}||file={},
  785.                 {No},
  786.                 {
  787.                 case    (@getchar(file,2,2)={:\},
  788.                     {No},{footnote(ERRMSG);im({Yes})},
  789.                     {Yes},
  790.                     {
  791.                     %upct    {mail=}|mail|{;file=};
  792.                     case    (mode,{updt},
  793.                         {
  794.                         im(@RESERV(reserv)|{mail=}|
  795.                         mail|{;file=}|file|
  796.                         {;title=}|title|CRLF)
  797.                         },,
  798.                         {
  799.                         write(TEMP2|{doraup.wrk},
  800.                         @RESERV(reserv)|{mail=}|
  801.                         mail|{;file=}|file|
  802.                         {;title=}|title|CRLF);
  803.                         dest:=upct;
  804.                         });
  805.                     });
  806.                 },
  807.                 {Yes},{im({Yes})
  808.                 });
  809.             },
  810.             { 2},{im({})},
  811.             { 3},{im(upld)},
  812.             ,{case(mode={updt}&&search={ 0}&&sel={ 0},
  813.                 {Yes},{im(upld)})}
  814.             );
  815.         });
  816.     };
  817.  
  818.  
  819. /*  バイナリメール制御文作成及び更新    */
  820. %UPbmail{
  821.     [upld,mode]
  822.     %fnc    @case(mode,{updt},{im({更新})},,{im({作成})});
  823.     var bmail[127];
  824.     var comnt[40];
  825.     var title[12];
  826.     var file[64];
  827.     var docfile[64];
  828.     var ok[2];
  829.     var reserv[2];
  830.     reserv:=@case(@head(upld,{;}),{保留},{im({ 2})},,{im({ 1})});
  831.     case(mode,{new},,,
  832.         {
  833.         bmail:=    @head(@body(upld,{bmail=},{;}),{;});
  834.         comnt:=    @head(@body(upld,{comnt=},{;}),{;});
  835.         title:=    @body(upld,{title=},{\n});
  836.         file:=    @head(@body(upld,{file=},{;}),{;});
  837.         docfile:=@tail(upld,{docfile=},{;});
  838.         });
  839.     dest:={};
  840.     loop    ({
  841.         %size    @case    (@filechk(file),
  842.                 {Yes},{im(@fileleng(file))},
  843.                 {No},{im(0)}
  844.                 );
  845.         footnote({バイナリメール送信制御文}|fnc);
  846.         SNDMSG({nyuryo_f.snd});
  847.         %a    @plane(    {cバイナリメール送信\n}|
  848.                 {t 送信先ID    /\n}|
  849.                 {s              / 検索 \n}|
  850.                 {t ファイル名「半角のローマ字で」/xxxxxxxxxxxx\n}|
  851.                 {t コメント      /xxxxxxxxxxxxxxxxxxxx}|
  852.                         {xxxxxxxxxxxxxxxxxxxx\n}|
  853.                 {t 送信ファイル  /\n}|
  854.                 {c  ファイルサイズ      }|@SPP(size,7,)|{bytes\n}|
  855.                 {s              / ファイル一覧 \n}|
  856.                 {t 概要ファイル /\n}|
  857.                 {s              / ファイル一覧/ 新規作成 }|
  858.                 @case(mode,{updt},
  859.                     {im({/ 内容更新 })},,{im({})})|{\n}|
  860.                 {r送信予約      /予約  /保留\n}|
  861.                 {s              / 登録 / }|
  862.                 @case(mode,{updt},{im({削除 / 取消})},
  863.                         ,{im({取消})})|{ \n},
  864.                 bmail,title,comnt,file,docfile,reserv);
  865.     bmail:=    @head(@getline(a,1,1),{\n});
  866.     %search    @head(@getline(a,2,1),{\n});
  867.     title:=    @head(@getline(a,3,1),{\n});
  868.     comnt:=    @head(@getline(a,4,1),{\n});
  869.     file:=    @head(@getline(a,5,1),{\n});
  870.     %sel1    @head(@getline(a,6,1),{\n});
  871.     docfile:=@head(@getline(a,7,1),{\n});
  872.     %sel2    @head(@getline(a,8,1),{\n});
  873.     reserv:=@head(@getline(a,9,1),{\n});
  874.     ok:=    @head(@getline(a,10,1),{\n});
  875.         case    (search,
  876.             { 1},
  877.             {
  878.             %id1    @IDsearch;
  879.             case    (id1<>{},
  880.                 {Yes},
  881.                 {
  882.                 case    (bmail<>{},
  883.                     {Yes},{bmail:=bmail|{,}|id1},
  884.                     {No},{bmail:=id1}
  885.                     );
  886.                 });
  887.             im({Yes})}
  888.             );
  889.         case    (sel1,
  890.             { 1},
  891.             {
  892.             file:=@FILEsel1;
  893.             case    (mode,{updt},,,
  894.                 {title:=@tail(file,{\});
  895.                 docfile:=@body(file,,{.})|{.ggg};
  896.                 case(@filechk(docfile),{No},{docfile:={}});
  897.                 });
  898.             im({Yes})
  899.             });
  900.         case    (sel2,
  901.             { 1},{docfile:=@KAKUNIN;im({Yes})},
  902.             { 2},{docfile:=@SHINKI;im({Yes})},
  903.             { 3},{KOUSHIN(docfile,memono+2);im({Yes})}
  904.             );
  905.         case    (ok,
  906.             { 1},
  907.             {case    (title={}||file={},
  908.                 {No},
  909.                 {
  910.                 case    (@getchar(file,2,2)={:\},
  911.                     {No},{footnote(ERRMSG);im({Yes})},
  912.                     {Yes},
  913.                     {
  914.                     %upct    {bmail=}|bmail|{;};
  915.                     case    (mode,{updt},
  916.                         {
  917.                         im(@RESERV(reserv)|
  918.                         {bmail=}|bmail|{;comnt=}|comnt|
  919.                         {;file=}|file|{;docfile=}
  920.                         |docfile|{;title=}|title|CRLF)
  921.                         },,
  922.                         {
  923.                         write(TEMP2|{doraup.wrk},
  924.                         @RESERV(reserv)|
  925.                         {bmail=}|bmail|{;comnt=}|comnt|
  926.                         {;file=}|file|{;docfile=}                            |docfile|{;title=}|title|CRLF);
  927.                         dest:=upct;
  928.                         })
  929.                     });
  930.                 },
  931.                 {Yes},{im({Yes})
  932.                 });
  933.             },
  934.             { 2},{im({})},
  935.             { 3},{im(upld)},
  936.             ,{case(mode={updt}&&sel1={ 0}&&sel2={ 0}&&search={ 0},
  937.                 {Yes},{im(upld)})}
  938.             );
  939.         });
  940.     };
  941. /*  ボードへ制御文作成及び更新  */
  942. %UPforum{
  943.     [upld,mode]
  944.     %fnc    @case(mode,{updt},{im({更新})},,{im({作成})});
  945.     var forum[12];
  946.     var mes[3];
  947.     var reply[4];
  948.     var title[50];
  949.     var file[64];
  950.     var ok[2];
  951.     var moveline [2];
  952.     moveline:=1;
  953.     var reserv[2];
  954.     reserv:=@case(@head(upld,{;}),{保留},{im({ 2})},,{im({ 1})});
  955.     case(mode,{new},,,
  956.         {
  957.         forum:=    @head(@body(upld,{forum=},{;}),{;});
  958.         mes:=    @head(@body(upld,{mes=},{;}),{;});
  959.         reply:=    @head(@body(upld,{reply=},{;}),{;});
  960.         title:=    @body(upld,{title=},{\n});
  961.         file:=    @head(@body(upld,{file=},{;}),{;});
  962.         });
  963.     dest:={};
  964.     loop    ({
  965.         footnote({ボード制御文}|fnc);
  966.         SNDMSG({nyuryo_f.snd});
  967.         %a     @plane( {cボードへの新規発言\n}|
  968.                 {t ネット名 /xxxxxxxx\n}|
  969.                 {cCUGボードの場合はネット名の代わりに\n}|
  970.                 {cパスワードを入力して下さい\n}|
  971.                 {t  ボード番号  /xxxxx\n}|
  972.                 {s                    /検索 \n}|
  973.                 {tコメント元番号/xxx\n}|
  974.                 {c新規発言の場合はボード番号だけで可\n}|
  975.                 {t   タイトル   /xxxxxxxxxxxxxxxxxxxx}|
  976.                         {xxxxxxxxxxxxxxxxxxxx\n}|
  977.                 {t 発言ファイル /\n}|
  978.                 {s              / ファイル一覧 / 新規作成 }|
  979.                 @case(mode,{updt},
  980.                     {im({/ 内容更新 })},,{im({})})|{\n}|
  981.                 {r 送信予約     /予約  /保留\n}|
  982.                 {s              / 登録 / }|
  983.                 @case(mode,{updt},{im({削除 / 取消})},
  984.                     ,{im({取消})})|{ \n},
  985.                 @SCANPW(mes),mes,reply,title,file,reserv);
  986.         forum:= @head(@getline(a,1,1),{\n});
  987.         mes:=    @head(@getline(a,2,1),{\n});
  988.         %search @head(@getline(a,3,1),{\n});
  989.         reply:= @head(@getline(a,4,1),{\n});
  990.         title:= @head(@getline(a,5,1),{\n});
  991.         file:=    @head(@getline(a,6,1),{\n});
  992.         %sel    @head(@getline(a,7,1),{\n});
  993.         reserv:=@head(@getline(a,8,1),{\n});
  994.         ok:=    @head(@getline(a,9,1),{\n});
  995.         case    (search,
  996.             { 1},{MorL:={BoD};DeLog:={No};
  997.             %mes1   @MLserch(mes,MorL);
  998.             reply:={};
  999.             case    (mes1,{},,,{mes:=mes1});DeLog:={};
  1000.             im({Yes})
  1001.             });
  1002.         case    (sel,
  1003.             { 1},{file:=@KAKUNIN;im({Yes})},
  1004.             { 2},{file:=@SHINKI;im({Yes})},
  1005.             { 3},{KOUSHIN(file,memono+2);im({Yes})}
  1006.             );
  1007.         case    (ok,
  1008.             { 1},
  1009.             {
  1010.             case    (@getchar(file,2,2)={:\}&&title<>{},
  1011.                 {No},{footnote(ERRMSG);im({Yes})},
  1012.                 {Yes},
  1013.                 {
  1014.                 %upct    {forum=}|forum|{;mes=}|mes|{;};
  1015.                 case    (mode,{updt},
  1016.                     {
  1017.                     im(@RESERV(reserv)|{forum=}|
  1018.                     forum|{;mes=}|mes|{;reply=}|
  1019.                     reply|{;file=}|
  1020.                     file|{;title=}|title|CRLF);
  1021.                     },,
  1022.                     {
  1023.                     write(TEMP2|{doraup.wrk},
  1024.                         @RESERV(reserv)|{forum=}|forum|
  1025.                         {;mes=}|mes|{;reply=}|reply|
  1026.                         {;file=}|file|{;title=}|
  1027.                         title|CRLF);
  1028.                     dest:=upct;
  1029.                     })
  1030.                 })
  1031.             },
  1032.             { 2},{im({})},
  1033.             { 3},{im(upld)},
  1034.             ,{case(mode={updt}&&sel={ 0}&&search={ 0},
  1035.                 {Yes},{im(upld)})}
  1036.             );
  1037.         });
  1038.     };
  1039. /*  データライブラリ制御文作成及び更新  */
  1040. %UPdlib{
  1041.     [upld,mode]
  1042.     %fnc    @case(mode,{updt},{im({更新})},,{im({作成})});
  1043.     var forum[12];
  1044.     var libno[3];
  1045.     var dataname[12];
  1046.     var keyword[80];
  1047.     var datatype[3];
  1048.     var dtype[2];
  1049.     var datafile[64];
  1050.     var docfile[64];
  1051.     var file[64];
  1052.     var ok[2];
  1053.     var moveline[2];
  1054.     moveline:=1;
  1055.     var reserv[2];
  1056.     reserv:=@case(@head(upld,{;}),{保留},{im({ 2})},,{im({ 1})});
  1057.     case    (mode,{new},,,
  1058.         {
  1059.         forum:=    @tail(upld,{forumlib=},{;});
  1060.         libno:=    @tail(upld,{libno=},{;});
  1061.         dataname:=@head(@body(upld,{dataname=},{;}),{;});
  1062.         keyword:=@head(@body(upld,{keyword=},{;}),{;});
  1063.         datatype:=@head(@body(upld,{datatype=},{;}),{;});
  1064.         dtype:=    @case(datatype,    
  1065.             {BIN},{im({ 1})},{bin},{im({ 1})},
  1066.             {TXT},{im({ 2})},{txt},{im({ 2})},
  1067.             ,{im({ 1})});
  1068.         datafile:=@head(@body(upld,{datafile=},{;}),{;});
  1069.         docfile:=@head(@body(upld,{docfile=},{;}),{;});
  1070.         });
  1071.     dest:={};
  1072.     loop    ({
  1073.         %size    @case    (@filechk(datafile),
  1074.                 {Yes},{im(@fileleng(datafile))},
  1075.                 {No},{im(0)}
  1076.                 );
  1077.         footnote({データライブラリへの登録制御文}|fnc);
  1078.         SNDMSG({nyuryo_f.snd});
  1079.         %a    @plane(    {cデータライブラリへの登録\n}|
  1080.                 {t ネット名 /xxxxxxxx\n}|
  1081.                 {cCUGボードの場合はネット名の代わりに\n}|
  1082.                 {cパスワードを入力して下さい\n}|
  1083.                 {tライブラリ番号/xxx\n}|
  1084.                 {s                    /検索 \n}|
  1085.                 {t   データ名   /xxxxxxxxxxxx\n}|
  1086.                 {t  コメント  /\n}|
  1087.                 {r DATATYPE /バイナリ/テキスト(500行以下)\n}|
  1088.                 {tデータファイル/\n}|
  1089.                 {c  ファイルサイズ      }|@SPP(size,7,)|{bytes\n}|
  1090.                 {s              / ファイル一覧 \n}|
  1091.                 {t 概要ファイル /\n}|
  1092.                 {s              / ファイル一覧/ 新規作成 }|
  1093.                 @case(mode,{updt},
  1094.                     {im({/ 内容更新 })},,{im({})})|{\n}|
  1095.                 {r 送信予約     /予約  /保留\n}|
  1096.                 {s              / 登録 / }|
  1097.                 @case(mode,{updt},{im({削除 / 取消})},
  1098.                     ,{im({取消})})|{ \n},
  1099.                 @SCANPW(libno),libno,dataname,keyword,dtype,
  1100.                 datafile,docfile,reserv);
  1101.     forum:=    @head(@getline(a,1,1),{\n});
  1102.     libno:=    @head(@getline(a,2,1),{\n});
  1103.     %search    @head(@getline(a,3,1),{\n});
  1104.     dataname:=@head(@getline(a,4,1),{\n});
  1105.     keyword:=@head(@getline(a,5,1),{\n});
  1106.     dtype:=    @head(@getline(a,6,1),{\n});
  1107.     datafile:=@head(@getline(a,7,1),{\n});
  1108.     %sel1    @head(@getline(a,8,1),{\n});
  1109.     docfile:=@head(@getline(a,9,1),{\n});
  1110.     %sel2    @head(@getline(a,10,1),{\n});
  1111.     reserv:=@head(@getline(a,11,1),{\n});
  1112.     ok:=    @head(@getline(a,12,1),{\n});
  1113.         case    (search,
  1114.              { 1},
  1115.             {MorL:={LiB};DeLog:={Lup};
  1116.             %lib1    @MLserch(libno,MorL);
  1117.             case    (lib1,{},,,{libno:=lib1});DeLog:={};
  1118.             im({Yes})
  1119.             });
  1120.         case    (sel1,
  1121.             { 1},
  1122.             {
  1123.             case    (dtype,
  1124.                 { 2},{datafile:=@KAKUNIN},
  1125.                 { 3},{datafile:=@KAKUNIN2},
  1126.                 ,{datafile:=@FILEsel1}
  1127.                 );
  1128.             case    (mode,{updt},,,
  1129.                 {dataname:=@tail(datafile,{\});
  1130.                 docfile:=@body(datafile,,{.})|{.ggg};
  1131.                 case(@filechk(docfile),{No},{docfile:={}});
  1132.                 });
  1133.             im({Yes});
  1134.             });
  1135.         case    (sel2,
  1136.             { 1},{docfile:=@KAKUNIN;im({Yes})},
  1137.             { 2},{docfile:=@SHINKI;im({Yes})},
  1138.             { 3},{KOUSHIN(docfile,memono+2);im({Yes})}
  1139.             );
  1140.         case    (ok,
  1141.             { 1},
  1142.             {case    (dataname={}||datafile={}||keyword={},
  1143.                 {No},
  1144.                 {
  1145.                 case    (@getchar(datafile,2,2)={:\},
  1146.                     {No},
  1147.                     {footnote(ERRMSG);im({Yes})},
  1148.                     {Yes},
  1149.                     {
  1150.                     datatype:=@case    (dtype,
  1151.                         { 1},{im({BIN})},
  1152.                         { 2},{im({TXT})},
  1153.                         ,{im({BIN})}
  1154.                         );
  1155.                     %upct    {forumlib=}|forum|{;libno=}|
  1156.                         libno|{;};
  1157.                     case    (forum<>{} && libno<>{} &&  
  1158.                         dataname<>{}&& keyword<>{} &&
  1159.                          @filechk(datafile),
  1160.                         {Yes},
  1161.                         {
  1162.                         case    (mode,{updt},
  1163.                             {
  1164.                             im(@RESERV(reserv)|
  1165.                             {forumlib=}|forum|
  1166.                             {;libno=}|libno|
  1167.                             {;dataname=}|dataname|
  1168.                             {;keyword=}|keyword|
  1169.                             {;datatype=}|datatype|
  1170.                             {;datafile=}|datafile|
  1171.                             {;docfile=}|docfile|
  1172.                             {;\n});
  1173.                             },,
  1174.                             {
  1175.                             write(TEMP2|
  1176.                             {doraup.wrk},
  1177.                             @RESERV(reserv)|
  1178.                             {forumlib=}|forum|
  1179.                             {;libno=}|libno|
  1180.                             {;dataname=}|dataname|
  1181.                             {;keyword=}|keyword|
  1182.                             {;datatype=}|datatype|
  1183.                             {;datafile=}|datafile|
  1184.                             {;docfile=}|docfile|
  1185.                             {;\n});
  1186.                             dest:=upct;
  1187.                             })
  1188.                         })
  1189.                     });
  1190.                 },
  1191.                 {Yes},{im({Yes})
  1192.                 });
  1193.             },
  1194.             { 2},{im({})},
  1195.             { 3},{im(upld)},
  1196.             ,{case(mode={updt}&&sel1={ 0}&&sel2={ 0}&&search={ 0},
  1197.                 {Yes},{im(upld)})}
  1198.             );
  1199.         });
  1200.     };
  1201. /*  プロフィール情報制御文作成及び更新  */
  1202. %UPprof{
  1203.     [upld,mode]
  1204.     %fnc    @case(mode,{updt},{im({更新})},,{im({作成})});
  1205.     var file[64];
  1206.     var ok[2];
  1207.     var    reserv    [2];
  1208.     reserv:=@case(@head(upld,{;}),{保留},{im({ 2})},,{im({ 1})});
  1209.     case(mode,{updt},{file:=@tail(upld,{file=},{;})});
  1210.     dest:={};
  1211.     loop    ({
  1212.         footnote({プロフィール情報登録制御文作成});
  1213.         SNDMSG({nyuryo_f.snd});
  1214.         %a    @plane(    {cプロフィール情報登録\n}|
  1215.                 {t 登録ファイル /\n}|
  1216.                 {s              / ファイル一覧/ 新規作成  }|
  1217.                 @case(mode,{updt},
  1218.                     {im({/ 内容更新 })},,{im({})})|{\n}|
  1219.                 {r 送信予約     /予約  /保留\n}|
  1220.                 {s              / 登録 / }|
  1221.                 @case(mode,{updt},{im({削除 / 取消})},
  1222.                         ,{im({取消})})|{ \n},
  1223.                 file,reserv);
  1224.         file:=    @head(@getline(a,1,1),{\n});
  1225.         %search    @head(@getline(a,2,1),{\n});
  1226.         reserv:=@head(@getline(a,3,1),{\n});
  1227.         ok:=    @head(@getline(a,4,1),{\n});
  1228.         case    (search,
  1229.             { 1},{file:=@KAKUNIN;im({Yes})},
  1230.             { 2},{file:=@SHINKI;im({Yes})},
  1231.             { 3},{KOUSHIN(file,memono+2);im({Yes})}
  1232.             );
  1233.         case    (ok,
  1234.             { 1},
  1235.             {case    (file={},
  1236.                 {No},
  1237.                 {
  1238.                 case    (@getchar(file,2,2)={:\},
  1239.                     {No},{footnote(ERRMSG);im({Yes})},
  1240.                     {Yes},
  1241.                     {
  1242.                     case    (mode,{updt},
  1243.                         {
  1244.                         im(@RESERV(reserv)|
  1245.                         {profile=}|{;file=}|
  1246.                         file|{;\n})
  1247.                         },,
  1248.                         {
  1249.                         write(TEMP2|{doraup.wrk},
  1250.                         @RESERV(reserv)|{profile=}|
  1251.                         {;file=}|file|{;\n});
  1252.                         });
  1253.                     });
  1254.                 },
  1255.                 {Yes},{im({Yes})
  1256.                 });
  1257.             },
  1258.             { 2},{im({})},
  1259.             { 3},{im(upld)},
  1260.             ,{case(mode={updt}&&search={ 0},
  1261.                 {Yes},{im(upld)})}
  1262.             );
  1263.         });
  1264.     };
  1265. /*    メモ書き込み制御文作成及び更新    */
  1266. %UPmemo{
  1267.     [upld,mode]
  1268.     %fnc    @case(mode,{updt},{im({更新})},,{im({作成})});
  1269.     var file[64];
  1270.     var memoK[32];
  1271.     var ok[2];
  1272.     var reserv[2];
  1273.     reserv:=@case(@head(upld,{;}),{保留},{im({ 2})},,{im({ 1})});
  1274.     case(mode,{updt},{file:=@tail(upld,{file=},{;})});
  1275.     dest:={};
  1276.     loop    ({
  1277.         footnote({メモ書き込み制御文}|fnc|{;「WHOコマンドで出}|
  1278.         {てくるメモです」});
  1279.         SNDMSG({nyuryo_f.snd});
  1280.         %a    @plane(    {cメモ書き込み情報登録\n}|
  1281.                 {t 登録ファイル /\n}|
  1282.                 {s              / ファイル一覧/ 新規作成 }|
  1283.                 @case(mode,{updt},
  1284.                     {im({/ 内容更新 })},,{im({})})|{\n}|
  1285.                 {r 送信予約     /予約  /保留\n}|
  1286.                 {s              / 登録 / }|
  1287.                 @case(mode,{updt},{im({削除  /  取消})},
  1288.                         ,{im({取消})})|{ \n},
  1289.                 file,reserv);
  1290.         file:=    @head(@getline(a,1,1),{\n});
  1291.         %sel    @head(@getline(a,2,1),{\n});
  1292.         reserv:=@head(@getline(a,3,1),{\n});
  1293.         ok:=    @head(@getline(a,4,1),{\n});
  1294.         case    (sel,
  1295.             { 1},{file:=@KAKUNIN;im({Yes})},
  1296.             { 2},{MEMOset;im({Yes})},
  1297.             { 3},{MEMOrset(file);im({Yes})});
  1298.         case    (ok,
  1299.             { 1},
  1300.             {
  1301.             case    (@getchar(file,2,2)={:\},
  1302.                 {No},{footnote(ERRMSG);im({Yes})},
  1303.                 {Yes},
  1304.                 {
  1305.                 case(mode,{updt},
  1306.                     {
  1307.                     im(@RESERV(reserv)|
  1308.                     {whomemo=}|{;file=}|file|{;\n})
  1309.                     },,
  1310.                     {
  1311.                     write(TEMP2|{doraup.wrk},
  1312.                         @RESERV(reserv)|{whomemo=}|
  1313.                         {;file=}|file|{;\n});
  1314.                     im({})
  1315.                     })
  1316.                 })
  1317.             },
  1318.             { 2},{im({})},
  1319.             { 3},{im(upld)},
  1320.             ,{case(mode={updt}&&sel={ 0},
  1321.                 {Yes},{im(upld)})}
  1322.             );
  1323.         });
  1324.     };
  1325. /*  アップロード制御ファイル更新    */
  1326. %UPDATE1{
  1327.     var    LineNo    [6];
  1328.     LineNo:=@xlinenum;
  1329.     %MaxLine@nolmemo(memono);
  1330.     case    (LineNo>MaxLine,
  1331.         {Yes},{LineNo:=MaxLine},
  1332.         {No},{case(LineNo<1,{Yes},{LineNo:=1})}
  1333.         );
  1334.     %upld    @memo(memono,LineNo,1);
  1335.     case    (@head(upld,{=}),
  1336.         {dengon},    {EDIT(0)},
  1337.         {lastW},    {LAST},
  1338.         {benon},    {UPDATE(@UPbenon(upld,{updt}))},
  1339.         {保留;benon},    {UPDATE(@UPbenon(upld,{updt}))},
  1340.         {mail},        {UPDATE(@UPmail(upld,{updt}))},
  1341.         {保留;mail},    {UPDATE(@UPmail(upld,{updt}))},
  1342.         {bmail},    {UPDATE(@UPbmail(upld,{updt}))},
  1343.         {保留;bmail},    {UPDATE(@UPbmail(upld,{updt}))},
  1344.         {forum},    {UPDATE(@UPforum(upld,{updt}))},
  1345.         {保留;forum},    {UPDATE(@UPforum(upld,{updt}))},
  1346.         {forumlib},    {UPDATE(@UPdlib(upld,{updt}))},
  1347.         {保留;forumlib},{UPDATE(@UPdlib(upld,{updt}))},
  1348.         {profile},    {UPDATE(@UPprof(upld,{updt}))},
  1349.         {保留;profile},    {UPDATE(@UPprof(upld,{updt}))},
  1350.         {whomemo},    {UPDATE(@UPmemo(upld,{updt}))},
  1351.         {保留;whomemo},    {UPDATE(@UPmemo(upld,{updt}))},
  1352.         ,        {InactMemo}
  1353.         );
  1354.     };
  1355. %UPDATE    {
  1356.     [new]
  1357.     case    (new,
  1358.         upld,{InactMemo},    /* 変更無し */
  1359.         {},        /* 削除 */
  1360.         {
  1361.         InactMemo;
  1362.         mclear(memono);
  1363.         case(LineNo>1,{Yes},
  1364.             {madd(memono,@read(TEMP2|{doraup.wrk},1,LineNo-1))});
  1365.         case(LineNo<MaxLine,{Yes},
  1366.             {madd(memono,@read(TEMP2|{doraup.wrk},LineNo+1))});
  1367.         mwrite(TEMP2|{doraup.wrk},memono);
  1368.         },
  1369.         ,        /* 変更あり */
  1370.         {
  1371.         InactMemo;
  1372.         mclear(memono);
  1373.         case    (LineNo>1,
  1374.             {Yes},
  1375.             {madd(memono,@read(TEMP2|{doraup.wrk},1,LineNo-1))}
  1376.             );
  1377.         madd(memono,new);
  1378.         case    (LineNo<MaxLine,
  1379.             {Yes},
  1380.             {madd(memono,@read(TEMP2|{doraup.wrk},LineNo+1))}
  1381.             );
  1382.         mwrite(TEMP2|{doraup.wrk},memono);
  1383.         });
  1384.     };
  1385. /*    アップロード予約を保留する    */
  1386. %WAIT1    {
  1387.     var    LineNo    [6];
  1388.     LineNo:=@xlinenum;
  1389.     %MaxLine@nolmemo(memono);
  1390.     case    (LineNo>MaxLine,
  1391.         {Yes},
  1392.         {LineNo:=MaxLine},
  1393.         {No},
  1394.         {case(LineNo<1,{Yes},{LineNo:=1})}
  1395.         );
  1396.     %line1    @memo(memono,LineNo,1);
  1397.     case    (@getchar(line1,1,5)={保留;}||@getchar(line1,1,6)={dengon}
  1398.         ||@getchar(line1,1,5)={lastW}||line1={},
  1399.         {Yes},        /* 変更無し */
  1400.         {InactMemo},
  1401.         {No},        /* 変更あり */
  1402.         {
  1403.         InactMemo;
  1404.         mclear(memono);
  1405.         case(LineNo>1,{Yes},
  1406.             {madd(memono,@read(TEMP2|{doraup.wrk},1,LineNo-1))});
  1407.         madd(memono,{保留;}|line1);
  1408.         case(LineNo<MaxLine,{Yes},
  1409.             {madd(memono,@read(TEMP2|{doraup.wrk},LineNo+1))});
  1410.         mwrite(TEMP2|{doraup.wrk},memono);
  1411.         });
  1412.     };
  1413. /*    アップロード保留を解除(予約)する    */
  1414. %RESERVE1{
  1415.     var    LineNo    [6];
  1416.     LineNo:=@xlinenum;
  1417.     %MaxLine@nolmemo(memono);
  1418.     case    (LineNo>MaxLine,
  1419.         {Yes},
  1420.         {LineNo:=MaxLine},
  1421.         {No},
  1422.         {case(LineNo<1,{Yes},{LineNo:=1})}
  1423.         );
  1424.     %line1    @memo(memono,LineNo,1);
  1425.     case    (@getchar(line1,1,5),
  1426.         {保留;},    /* 変更あり */
  1427.         {
  1428.         InactMemo;
  1429.         mclear(memono);
  1430.         case(LineNo>1,{Yes},
  1431.             {madd(memono,@read(TEMP2|{doraup.wrk},1,LineNo-1))});
  1432.         madd(memono,@getchar(line1,6));
  1433.         case(LineNo<MaxLine,{Yes},
  1434.             {madd(memono,@read(TEMP2|{doraup.wrk},LineNo+1))});
  1435.         mwrite(TEMP2|{doraup.wrk},memono);
  1436.         },
  1437.         ,{InactMemo}    /* 変更なし */
  1438.         );
  1439.     };
  1440. /*    アップロード制御ファイル作成メインループ    */
  1441. %SETUP    {[memono]
  1442.     var dest[170];var d[1];var l[1];d:={};l:={};
  1443.     InactMemo;
  1444.     delfile(TEMP2|{doraup.wrk});
  1445.     copyfile(UP2|{doraup.ctl},TEMP2|{doraup.wrk});
  1446.     madd(memono,{});mclear(memono);
  1447.     case    (@filechk(TEMP2|{doraup.wrk}),
  1448.         {Yes},{mread(TEMP2|{doraup.wrk},memono)});
  1449.     case    (@filechk(UP2|{DENGO}),
  1450.         {Yes},{d:={Y};%denDis @im({dengon=}|UP2|{DENGO}|CRLF);
  1451.             madd(memono,denDis)});
  1452.     case    (@filechk(UP2|{SAIGO}),
  1453.         {Yes},{l:={Y};%lastDis @im({lastW=}|UP2|{SAIGO}|CRLF);
  1454.             madd(memono,lastDis)});
  1455.     loop    ({
  1456.         case    (@filechk(UP2|{DENGO}) && d<>{Y},
  1457.             {Yes},{%denDis @im({dengon=}|UP2|{DENGO}|CRLF);
  1458.                 madd(memono,denDis)});
  1459.         case    (@filechk(UP2|{SAIGO}) && l<>{Y},
  1460.             {Yes},{%lastDis @im({lastW=}|UP2|{SAIGO}|CRLF);
  1461.                 madd(memono,lastDis)});
  1462.         MakeDisp;
  1463.         mopen(memono+1,0,21,639,459,{r});
  1464.         footnote({終了取消        }|
  1465.              {変更保留予約追加  }|
  1466.              {読込編集},{b});
  1467.         waitx();
  1468.         case    (@xtype,
  1469.             101,{
  1470.             delfile(UP2|{doraup.ctl});
  1471.             copyfile(TEMP2|{doraup.wrk},UP2|{doraup.ctl});
  1472.             im({No})},
  1473.             201,
  1474.             {
  1475.             delfile(UP2|{doraup.ctl});
  1476.             copyfile(TEMP2|{doraup.wrk},UP2|{doraup.ctl});
  1477.             im({No})
  1478.             },
  1479.             102,{im({No})},         202,{im({No})},
  1480.             106,{UPDATE1;im({Yes})}, 206,{UPDATE1;im({Yes})},
  1481.             107,{WAIT1;im({Yes})},     207,{WAIT1;im({Yes})},
  1482.             108,{RESERVE1;im({Yes})},208,{RESERVE1;im({Yes})},
  1483.             109,{SETUP1;im({Yes})},     209,{SETUP1;im({Yes})},
  1484.             111,{FILECOPY;im({Yes})},211,{FILECOPY;im({Yes})},
  1485.             112,{HANDEDIT;im({Yes})},212,{HANDEDIT;im({Yes})},
  1486.             memono+1,{UPDATE1;im({Yes})},
  1487.             ,{InactMemo;im({Yes})});
  1488.         });footnote({});
  1489.     DeleteMemo(memono);    /* 使用したメモの削除 */
  1490.     };
  1491.  
  1492. /*    アップロード制御ファイル作成処理    */
  1493. %ERRMSG    {ファイル名はドライブからのフルパスで指定してください};
  1494. footnote({アップロード制御ファイルのセットアップを行います});
  1495. var MorL[3];var FUTop[3];
  1496. %memono    @mlast+1;
  1497. case    (memono>7,{No},{SETUP(memono)},{Yes},{SNDMSG    ({kaknin_f.snd});
  1498.         select    ({メモ7-9の内容が消去されます  よろしいですか?},
  1499.             Wtime4,,{ は い },{SETUP(7)},{ いいえ },)});
  1500. delfile(TEMP2|{doraup.wrk});
  1501.